1. Technical Field
The present invention relates in general to computer based networks and in particular to efficient destination address resolution at a node of a computer based network.
Still more particularly, the present invention relates to a method and system for efficient destination address resolution by aggregating multiple interface addresses at a node of a network into a single representative maskaddress.
2. Description of the Related Art
In communications technology, an address is a unique designation for the location of data or the identity of an intelligent device. Multiple devices on a single communication line must have unique addresses to allow each to respond to its own messages and receive messages from other devices, particularly on more complex or widespread networks.
One of the more versatile and widespread communication networks is the Internet. The Internet is comprised primarily of multiple servers interconnected to each other. Each server has a number of connected clients which communicate with clients or remote servers utilizing Internet Protocol (IP) addressing. Transmitting destination specific data, such as email, represents one of the more common uses of the Internet, as more and more users are appreciating the benefits of almost instantaneous transfer of information.
Currently, it is possible for a single host (such as a web server), to have lots of addresses associated with it. This is referred to as application hosting or web hosting, wherein a single machine may represent thousands of addresses. Occasionally, a node on a network is also designed to support (or host) multiple clients, with each client having a unique identifier or IP address.
Communication on the links are via packets (e.g., IP By packets in a web based network and ethernet packet on a LAN). A communications packet is a group of bits, which includes information bits and overhead bits, and are transmitted as a complete packet on a packet switched network. The overhead bits include a destination address. When a packet is issued unto the network and arrives at a host, which has multiple addresses, the packet""s destination address is compared against each of the multiple addresses in a sequential manner. This individual comparison is time consuming and results in a loss of efficiency for network packet transfer, particularly when multiple packets are routed simultaneously to and appear at the host at the same time.
Current IP address are typically 32 bits long. For example, IP address 199.72.6.100 is represented as 11000111 01001000 00000110 01100100. In the 32 bit Internet Protocol (IP) addressing scheme, several billion addresses are possible and a node (or virtual server) is not limited, except for hardware constraints, as to the number of addresses it may support. Some nodes may thus support hundreds of clients each having unique IP addresses. Attempting to locate an address by sequentially checking each address (i.e., all 32 bits) against the packet destination address may involve searching through hundreds or thousands of addresses hosted at the particular node.
For example, in a current systems, if a node supports IP addresses 192.35.45.4, 192.35.45.5, 192.35.45.6, and 192.35.45.7, the packet address is compared to each address sequentially. The comparison is completed at the host-network interface to determine if the packet is addressed to one of the addresses on the host and should be accepted.
The present invention recognizes that it would be desirable to provide a method and system for reducing the processing time for packets destination address resolution on a network. A system which minimized the time required for completing a comparison of a packet""s destination address with addresses on a node (or virtual server) by reducing the actual number of comparisons and number of bits required to be compared would be a welcomed improvement. The present invention provides these and other improvements which are heretofore not previously provided.
The present invention discloses a system for effectively reducing address resolution of a packet on a network by representing multiple addresses on a node of the network by a single maskaddress. An aggregation utility is utilized to aggregate the multiple addresses from an address space (i.e., a number of addresses having a common initial bits) of sequential addresses. A pre-selected aggregation percent, representing the percentage of actual addresses from the space which is present on the node, is utilized in the evaluation of the maskaddress. The maskaddress comprises of two variables. The first variable represents the size of the space and the common initial bits. The second variable provides information on the number of relevant bits to include in the maskaddress and the length of the space to point out the actual ones of the addresses, which are present in the space.
In a preferred embodiment, the system further comprises a negative-address utility by which those addresses which are not present within the space are identified. When a network packet arrives at the node, the destination address is compared against both the maskaddress and the negative address(es) to determine if to accept or refuse the packet.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.